home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / Clean Help / Clean Help.rsrc / STR#_10000.txt < prev    next >
Text File  |  1997-06-20  |  7KB  |  419 lines

  1. 
  2.  
  3. 
  4.  
  5. Language Report" for an overview).
  6.  
  7. ‚Ä¢ Clean 1.2 is supported on several platforms (see "Concurrent Clean:
  8.  
  9. 
  10.  
  11. application;
  12.  
  13. indices out-of-range and when not enough memory is assigned to a Clean
  14.  
  15. their domain (e.g. dividing by zero), when arrays are accessed with
  16.  
  17. number of cases: when partial functions are called with arguments out of
  18.  
  19. objects being created run-time errors can only occur in a very limited
  20.  
  21. ‚Ä¢ Due to the strong typing of Clean and the obligation to initialize all
  22.  
  23. 
  24.  
  25. types;
  26.  
  27. for process creation, I/O and basic operations on objects of predefined
  28.  
  29. Clean includes a huge collection of predefined modules (standard libraries)
  30.  
  31. facility to implicitly and explicitly import definitions from other modules;
  32.  
  33. one defines implementation modules and definition modules; there is a
  34.  
  35. ‚Ä¢ Clean is a modular language allowing separate compilation of modules;
  36.  
  37. 
  38.  
  39. another processor;
  40.  
  41. its arguments being calculated by another process possibly executing on
  42.  
  43. handled automatically simply when one function demands the evaluation of
  44.  
  45. can be defined; the interprocess communication is synchronous and is
  46.  
  47. in parallel; arbitrary process topologies (for instance cyclic structures)
  48.  
  49. ‚Ä¢ Dynamic process creation is possible; processes can run interleaved or
  50.  
  51. 
  52.  
  53. procedure calls across a local area network;
  54.  
  55. communicating e.g. via (a)synchronous message passing and remote
  56.  
  57. can define distributed window based interactive Clean applications
  58.  
  59. ‚Ä¢ Sub-applications can be created on other machines which means that one
  60.  
  61. 
  62.  
  63. applications running on the same or even on a different host system;
  64.  
  65. passing) but also with other independently programmed (Clean or other)
  66.  
  67. like actions using shared state components, via asynchronous message
  68.  
  69. exchange information with each other (via files, via clipboard copy-paste
  70.  
  71. switching between menus is done automatically); sub-applications can
  72.  
  73. multi-finder (all low level event handling for updating windows and
  74.  
  75. between these sub-applications is handled in a similar way as under a
  76.  
  77. light-weight processes) inside one Clean application. Automatic switching
  78.  
  79. such that one can create several applications (sub-applications or
  80.  
  81. ‚Ä¢ Specifications of window based interactive applications can be combined
  82.  
  83. 
  84.  
  85. specified compactly and elegantly on a very high level of abstraction;
  86.  
  87. mouse, keyboard, timers and events raised by sub-applications) can be
  88.  
  89. interactive applications (and the handling of menus, dialogues, windows,
  90.  
  91. ‚Ä¢ Clean offers a sophisticated I/O library with which window based
  92.  
  93. 
  94.  
  95. offering direct access to file systems and operating systems;
  96.  
  97. non-functional world (to C but also to I/O systems like X-Windows)
  98.  
  99. transformation of state information, it enables efficient interfacing to the
  100.  
  101. of objects within a pure functional framework, it allows destructive
  102.  
  103. behaviour of programs; it can be used to incorporate destructive updates
  104.  
  105. with this uniqueness type system one can influence the time and space
  106.  
  107. system allowing a refined control over the single threaded use of objects;
  108.  
  109. system, a special extension of the Milner/Hindley type inferencing
  110.  
  111. ‚Ä¢ Clean's key feature is a polymorphic uniqueness type inferencing
  112.  
  113. 
  114.  
  115. characters, strings, lists, tuples, records, arrays and files;
  116.  
  117. ‚Ä¢ Clean offers the following predefined types: integers, reals, booleans,
  118.  
  119. 
  120.  
  121. overloaded use of functions and operators possible.
  122.  
  123. ‚Ä¢ Type classes and type constructor classes are provided to make
  124.  
  125. 
  126.  
  127. for existentially quantified types;
  128.  
  129. algebraic types, and synonym types extended with a restricted facility
  130.  
  131. Hindley 1969) including the common polymorphic types, abstract types,
  132.  
  133. well-known Milner/Hindley type inferencing scheme (Milner 1978;
  134.  
  135. ‚Ä¢ Clean is a strongly typed language based on an extension of the
  136.  
  137. 
  138.  
  139. in any of its arguments;
  140.  
  141. (recursive) data structure can be defined lazy as well as (partially) strict
  142.  
  143. can be defined lazy as well as (partially) strict in their arguments; any
  144.  
  145. into a strict language to obtain optimal time/space behaviour: functions
  146.  
  147. ‚Ä¢ Although Clean is by default a lazy language one can smoothly turn it
  148.  
  149. 
  150.  
  151. sharing of structures (cyclic structures as well) in the language;
  152.  
  153. with explicit graph rewriting semantics; one can explicitly define the
  154.  
  155. ‚Ä¢ Clean is a lazy, pure, higher order functional programming language
  156.  
  157. 
  158.  
  159. 
  160.  
  161. The most important features of Concurrent Clean are:
  162.  
  163. 
  164.  
  165. √±1. Concurrent Clean version 1.2
  166.  
  167. 
  168.  
  169. 
  170.  
  171. For more background information we refer to the Bibliography.
  172.  
  173. 
  174.  
  175. ISBN 0-201-41663-8
  176.  
  177. 1993
  178.  
  179. Addison-Wesley Publishing Company
  180.  
  181. Rinus Plasmeijer and Marko van Eekelen
  182.  
  183. Functional Programming and Parallel Graph Rewriting
  184.  
  185. 
  186.  
  187. explained in detail in the following textbook:
  188.  
  189. implementation on sequential and parallel machine architectures are
  190.  
  191. Functional programming languages, Concurrent Clean (0.8) and its
  192.  
  193. 
  194.  
  195. January 1997 (Draft Version)
  196.  
  197. University of Nijmegen
  198.  
  199. Rinus Plasmeijer and Marko van Eekelen
  200.  
  201. Reference Manual
  202.  
  203. - version 1.2 -
  204.  
  205. Concurrent Clean
  206.  
  207. 
  208.  
  209. Concurrent Clean 1.2 can be found in the following manual:
  210.  
  211. Concurrent Clean System. A description of the syntax and semantics of
  212.  
  213. This Help file complements version 1.2 of Concurrent Clean and the
  214.  
  215. 
  216.  
  217. 
  218.  
  219. developed at the University of Nijmegen.
  220.  
  221. programming environment for Concurrent Clean. Concurrent Clean is
  222.  
  223. Concurrent Clean Programming Development System is a special
  224.  
  225. sequential, parallel or distributed executing real world applications. The
  226.  
  227. functional programming language that can be used for the development of
  228.  
  229. Concurrent Clean 1.2 is a general purpose, higher order, pure and lazy
  230.  
  231. 
  232.  
  233. Print... from the File menu (see also the entry Help).
  234.  
  235. N.B. This Help file can be printed by choosing
  236.  
  237. 
  238.  
  239. 
  240.  
  241. Version 1.2 - January1997
  242.  
  243. 
  244.  
  245. 
  246.  
  247. Nijmegen - The Netherlands
  248.  
  249. University of Nijmegen
  250.  
  251. Computing Science Institute
  252.  
  253. 
  254.  
  255. ¬© 1987-1997
  256.  
  257. 
  258.  
  259. 
  260.  
  261. ¬ªThe Concurrent Clean Program Development System
  262.  
  263. 
  264.  
  265. 
  266.  
  267. H
  268.  
  269. G
  270.  
  271. F
  272.  
  273. E
  274.  
  275. D
  276.  
  277. C
  278.  
  279. B
  280.  
  281. A
  282.  
  283. @
  284.  
  285. ?
  286.  
  287. >
  288.  
  289. =
  290.  
  291. <
  292.  
  293. ;
  294.  
  295. :
  296.  
  297. 9
  298.  
  299. 8
  300.  
  301. 7
  302.  
  303. 6
  304.  
  305. 5
  306.  
  307. 4
  308.  
  309. 3
  310.  
  311. 2
  312.  
  313. 1
  314.  
  315. 0
  316.  
  317. /
  318.  
  319. .
  320.  
  321. -
  322.  
  323. ,
  324.  
  325. +
  326.  
  327. *
  328.  
  329. )
  330.  
  331. (
  332.  
  333. '
  334.  
  335. &
  336.  
  337. %
  338.  
  339. $
  340.  
  341. #
  342.  
  343. "
  344.  
  345. !
  346.  
  347.  
  348.  
  349. 
  350.  
  351. 
  352.  
  353. 
  354.  
  355. 
  356.  
  357. 
  358.  
  359. 
  360.  
  361. 
  362.  
  363. 
  364.  
  365. 
  366.  
  367. 
  368.  
  369. 
  370.  
  371. ⌃
  372.  
  373. ‚å•
  374.  
  375. ‚áß
  376.  
  377. ‚åò
  378.  
  379. 
  380.  
  381. 
  382.  
  383. 
  384.  
  385. 
  386.  
  387.  
  388. 
  389.  
  390. 
  391.  
  392. 
  393.  
  394.  
  395.     
  396.  
  397. 
  398.  
  399. 
  400.  
  401. 
  402.  
  403. 
  404.  
  405. 
  406.  
  407. 
  408.  
  409. 
  410.  
  411. 
  412.  
  413. 
  414.  
  415. 
  416.  
  417. √±Table of Contents
  418.  
  419.